// 朋友圈数据的基本原型
let pyq = {
    success: true,
    data: [
        {
            id: 1,               // 朋友圈id
            uid: 1,              // 发布者id
            uicon: '',           // 发布者头像链接
            name: '',            // 发布者昵称
            content: '',         // 朋友圈内容
            contentType: 'img',  // 可以是 img、video、link、none
            imgList: [],         // 图片列表
            video: '',           // 视频链接
            link: '',            // 链接
            time: ""             // 发布时间
        },
    ]
};

// 主函数
(async function main() {
    pyq = await getAllPyq();
    if (!pyq.success) {
        alert('获取朋友圈失败');
        return ;
    }
    let pyqContentBox = document.querySelector('.content');
    if (!pyqContentBox) {
        setTimeout(main, 100);
        return ;
    }
    pyqContentBox.innerHTML = '';
    pyq.data.forEach(item => {
        // 朋友圈主体内容
        let itemDomContent = `
            <div class="left">
                <div class="user-icon" style="--icon: url(${item.uicon})"></div>
            </div>
            <div class="right">
                <div class="user-name">${item.name}</div>
                <div class="circle-text">${item.content}</div>
                <div class="circle-content-box"></div>
                <div class="circle-time">${formatTime(item.time)}</div>
                <div class="more-btn"></div>
            </div>
        `;
        let itemDom = document.createElement('div');
        itemDom.className = 'circle-item';
        itemDom.innerHTML = itemDomContent;

        // 添加图片或视频
        let contentDom = itemDom.querySelector('.circle-content-box');
        if (item.contentType === 'img') {
            item.imgList.forEach(imgPath => {
                let imgDom = document.createElement('div');
                imgDom.className = 'img-item';
                imgDom.style.backgroundImage = `url(${imgPath})`;
                contentDom.appendChild(imgDom);
            });
        } else if (item.contentType === 'video') {
            contentDom.innerHTML = `
                <div class="video">视频类型暂时不支持</div>
            `;
        } else if (item.contentType === 'link') {
            ;
        } else if (item.contentType === 'none') {
            ;
        }
        // 渲染到页面
        pyqContentBox.appendChild(itemDom);
    });
})();

// 获取所有朋友圈的函数 后续应该整理放入 server层
function getAllPyq() {
    return new Promise(async (resolve, reject) => {
        await fetch('/data/all_data.json')
            .then(res => res.json())
            .then((res) => {
                console.log('【 in getAllPyq all_data 】', res);
                resolve(res);
            })
            .catch(err => {
                let res = { success: false, err };
                console.log('【 in getAllPyq err 】', res);
                reject(res);
            });
    });
}

// 时间格式化函数 后续应该整理进入 tool层
function formatTime(date) {
    let time = new Date(date);
    // 输出成字符串 格式为：x年x月x日 xx:xx:xx
    let res =  time.getFullYear() + '年' + (time.getMonth() + 1) + '月' + time.getDate() + '日 ' + zero(time.getHours()) + ':' + zero(time.getMinutes()) + ':' + zero(time.getSeconds());
    if (res.indexOf('NaN') !== -1) {
        res = '未知时间';
    }
    return res;
}

// 补数位0函数 后续应该整理进入 tool层
function zero(num) {
    num = parseInt(num);
    return num < 10 ? '0' + num : num;
}